/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package xenon3d.scene;

/**
 * An enumeration of all node capabilities.
 * 
 * @author Volker Everts
 * @version 0.1 - 04.11.2011: Created
 */
public enum Capability {
    
    /** Setting the visibility of a node is allowed. */
    AllowVisibleWrite,
    
    /** Setting the animation enable property of a node is allowed. */
    AllowEnabledWrite,
    
    /** Extending a node's list of scene node animators is allowed. */
    AllowAnimatorsExtend,
    
    /** Removing scene node animators from a scene node is allowed. */
    AllowAnimatorsRemove,
    
    /** Extending a group node by adding children is allowed. */
    AllowGroupExtend,
    
    /** Removing children from a group node is allowed. */
    AllowChildrenRemove,
    
    /** Replacing children of a group node is allowed. */
    AllowChildrenReplace,
    
    /** Detaching a branch group from a locale or parent group is allowed. */
    AllowDetach,
    
    /** Setting the geometry of a shape object is allowed. */
    AllowGeometryWrite,
    
    /** Setting the appearance of a shape object is allowed. */
    AllowAppearanceWrite,
    
    /** Setting coloring attributes is allowed. */
    AllowColoringAttributesWrite,
    
    /** Setting point attributes is allowed. */
    AllowPointAttributesWrite,

    /** Setting line attributes is allowed. */
    AllowLineAttributesWrite,
    
    /** Setting polygon attributes is allowed. */
    AllowPolygonAttributesWrite,
    
    /** Setting rendering attributes is allowed. */
    AllowRenderingAttributesWrite,
    
    /** Setting material attributes is allowed. */
    AllowMaterialWrite,
    
    /** Setting texture data is allowed. */
    AllowTextureDataWrite,
    
    /** Setting texture attributes is allowed. */
    AllowTextureAttributesWrite;

} // end enum Capability